function outerFunction() {
  let count = 0;
  function innerFunction() {
    count++;
    console.log(count);
  }
  return innerFunction;
}

const closure = outerFunction();
closure(); // 输出: 1
closure(); // 输出: 2

/**
 *
 * outerFunction 是一个外部函数, 它内部定义了一个变量 count 和一个内部函数 innerFunction.
 * innerFunction 是一个闭包, 它可以访问 outerFunction 作用域中的变量 count.
 * outerFunction 返回了 innerFunction, 并将其赋值给变量 closure.
 * 每次调用 closure 时, 实际上是在调用 innerFunction, 它会对 count 进行自增操作, 并输出 count 的值.
 * 由于闭包的存在, count 的值会一直保留在内存中, 不会被销毁.
 */
